﻿using Microsoft.EntityFrameworkCore;
using Abp.EntityFrameworkCore;
using FwProject.ShoppingMall.Shop;
using FwProject.ShoppingMall.BrandInfo;
using FwProject.ShoppingMall.Product;
using FwProject.ShoppingMall.Com;
using FwProject.ShoppingMall.EventAdvertising;
using FwProject.ShoppingMall.Commodity;
using FwProject.ShoppingMall.Config;
using FwProject.ShoppingMall.Keyword;
using FwProject.ShoppingMall.Keyword.Dto;

namespace FwProject.EntityFrameworkCore
{
    public class FwProjectAppShopDbContext : AbpDbContext
    {

        /* Define a DbSet for each entity of the application */
        #region 商品
        #region 商品表
        public DbSet<ShopProduct> ShopProduct { get; set; }
        #endregion
        #region 商品分类
        public DbSet<ShopType> ShopType { get; set; }
        #endregion
        #region 商品宣传图片
        public DbSet<ShopProductPic> ShopProductPic { get; set; }
        public DbSet<ShopProductPicDetiails> ShopProductPicDetiails { get; set; }
        #endregion
        #region 商品sku
        public DbSet<ShopProductSku> ShopProductSku { get; set; }
        #endregion
        #endregion

        #region 类型
        #region 类型管理
        public DbSet<ProductType> ProductType { get; set; }
        #endregion
        #region 类型对应品牌
        public DbSet<ProductType_Brand> ProductType_Brand { get; set; }
        #endregion
        #region 类型对应规格
        public DbSet<ProductTypeSpce> ProductTypeSpce { get; set; }
        #endregion
        #endregion

        #region 品牌管理
        public DbSet<Brand> Brand { get; set; }
        #endregion

        #region 商品评论
        public DbSet<CommodityReviews> CommodityReviews { get; set; }
        public DbSet<CommodityReviewsImage> CommodityReviewsImage { get; set; }
        #endregion

        #region 属性
        #region 属性关联产品类型
        public DbSet<ProductType_Attr> ProductType_Attr { get; set; }
        #endregion
        #region 商品对应属性
        public DbSet<ShopProductAttr> ShopProductAttr { get; set; }
        #endregion
        #endregion

        #region 参数
        #region 商品对应参数
        public DbSet<ShopProductPar> ShopProductPar { get; set; }
        #endregion
        #region 参数关联产品类型
        public DbSet<ProductType_Par> ProductType_Par { get; set; }
        #endregion
        #region 参数值关联参数组
        public DbSet<ProductType_Parvalue> ProductType_Parvalue { get; set; }
        #endregion
        #endregion

        #region 规格
        public DbSet<Spce> Spces { get; set; }

        #region 规格对应规格值
        public DbSet<ProductSpcevalue> ProductSpcevalue { get; set; }
        #endregion
        #region 商品对应规格
        public DbSet<ShopProductSpce> ShopProductSpce { get; set; }
        #endregion
        #region 商品对应规格值
        public DbSet<ShopProductSpceValue> ShopProductSpceValue { get; set; }
        #endregion
        #endregion

        #region 标签
        #region 标签表
        public DbSet<ShopTag> ShopTag { get; set; }
        #endregion
        #region 商品对应标签
        public DbSet<ShopProductTag> ShopProductTag { get; set; }
        #endregion
        #endregion

        #region 广告
        #region 商城广告
        public DbSet<ShopAd> ShopAd { get; set; }
        #endregion
        #region 广告位置
        public DbSet<ShopAdLocation> ShopAdLocation { get; set; }
        #endregion
        #endregion

        #region 用户收藏商品表
        public DbSet<CommodityCollection> CommodityCollection { get; set; }
        #endregion

        #region 收货地址管理
        public DbSet<ShopReceivingAddress> ShopReceivingAddress { get; set; }
        #endregion

        #region 购物车
        public DbSet<ShopCar> ShopCar { get; set; }
        #endregion

        #region 订单
        #region 用户订单表
        public DbSet<ShopOrder> ShopOrder { get; set; }
        #endregion
        #region 订单明细表
        public DbSet<ShopOrderDetails> ShopOrderDetails { get; set; }
        #endregion
        #region 订单结算表
        public DbSet<SettlementSupplier> SettlementSupplier { get; set; }
        #endregion
        #region 秒杀
        public DbSet<ShopSecondkill> ShopSecondkill { get; set; }
        #endregion
        #endregion

        #region 优惠券
        #region 商城优惠券
        public DbSet<ShopCoupon> ShopCoupon { get; set; }
        #endregion
        #region 用户优惠券
        public DbSet<ShopUserCoupon> ShopUserCoupon { get; set; }
        #endregion
        #region 订单消费优惠券
        public DbSet<ShopOrderCoupon> ShopOrderCoupon { get; set; }
        #endregion
        #endregion

        #region 商城供应商
        public DbSet<ShopSupplier> ShopSupplier { get; set; }
        #endregion

        #region 地区

        public DbSet<Region> Regions { get; set; }
        #endregion

        #region 热门关键字
        public DbSet<KeywordInfo> KeywordInfo { get; set; }
        #endregion

        #region 意见反馈
        public DbSet<Feedback> Feedbacks { get; set; }
        #endregion

        #region 内容管理

        public DbSet<ContentManage> ContentManages { get; set; }
        public DbSet<ContentType> ContentTypes { get; set; }
        #endregion

        #region 公告管理
        public DbSet<Notice> Notice { get; set; }
        #endregion

        /// <summary>
        /// 足迹
        /// </summary>
        public DbSet<Footprint> Footprints { get; set; }

        public FwProjectAppShopDbContext(DbContextOptions<FwProjectAppShopDbContext> options)
            : base(options)
        {

        }
    
    }
}
